In [1]:
import numpy, scipy, pandas

Задача 1: Переверните список и оставьте только слова длиннее трех букв.


In [53]:
a = ['abc', 'hdok', 'banc', 'xkm', 'pckdax']

In [60]:
#b = a[::-1]
b= []
for i in a:
    if (len(i) > 3):
        b.append(i)
        
b = b[::-1]
b


Out[60]:
['pckdax', 'banc', 'hdok']

Задача 2: Сделайте из списка списков одноуровневый список, в котором будут идти подряд все элементы


In [27]:
a = [[1,2,3], [4,5], [6]]

In [30]:
numpy.hstack((a[0],a[1],a[2]))


Out[30]:
array([1, 2, 3, 4, 5, 6])

Задача 3: Переверните словарь: сделайте его значениями его ключи, а ключами - значения.


In [31]:
d = {'a': 'b', 'c': 'd', 'e': 'f'}

In [34]:
{v: k for k, v in d.items()}


Out[34]:
{'b': 'a', 'd': 'c', 'f': 'e'}

Задача 4: Вычтите из данного массива единичную матрицу и транспонируйте результат


In [37]:
a = numpy.array([[1,2,3], [4,5,6]])
a


Out[37]:
array([[1, 2, 3],
       [4, 5, 6]])

In [41]:
(a - numpy.array([[1,0,0], [0,1,0]])).transpose()


Out[41]:
array([[0, 4],
       [2, 4],
       [3, 6]])

Задача 5: Создайте функцию, которая находит то же значение, что и $F$, только принимает как параметр лишь размер матрицы $N$.


In [42]:
N = 10

In [44]:
a = numpy.array([range(1, N**2 + 1)]).reshape(N, -1)
a


Out[44]:
array([[  1,   2,   3,   4,   5,   6,   7,   8,   9,  10],
       [ 11,  12,  13,  14,  15,  16,  17,  18,  19,  20],
       [ 21,  22,  23,  24,  25,  26,  27,  28,  29,  30],
       [ 31,  32,  33,  34,  35,  36,  37,  38,  39,  40],
       [ 41,  42,  43,  44,  45,  46,  47,  48,  49,  50],
       [ 51,  52,  53,  54,  55,  56,  57,  58,  59,  60],
       [ 61,  62,  63,  64,  65,  66,  67,  68,  69,  70],
       [ 71,  72,  73,  74,  75,  76,  77,  78,  79,  80],
       [ 81,  82,  83,  84,  85,  86,  87,  88,  89,  90],
       [ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100]])

In [49]:
F = lambda matrix: numpy.sum(numpy.diag(matrix))

In [50]:
F(a)


Out[50]:
505

In [51]:
MyF = lambda K:  numpy.sum(numpy.diag(numpy.array([range(1, K**2 + 1)]).reshape(K, -1)))

In [52]:
MyF(N)


Out[52]:
505